package com.uzai.console.entity;

import com.uzai.common.entity.BaseEntity;
import com.uzai.console.entity.es.EsFdGroupSendMsg;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 发单消息任务表
 * 
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2022-12-08 11:28:16
 */
@Data
public class FdSendJob extends BaseEntity {

	private static final long serialVersionUID = 3756974574163317631L;

	/**
	 * 主任务ID（0表示主任务）
	 */
	private Long parentId;
	/**
	 * 
	 */
	private Long merId;
	/**
	 * 任务名称
	 */
	private String name;
	/**
	 * 群发类型（0手动发送；1自动发群；2自动跟发; 3-自动跟气氛组）
	 */
	private Integer source;
	/**
	 * 发单配置方案id
	 */
	private Long fdDevicePlanId;
	/**
	 * 机器人类型
	 */
	private String deviceType;
	/**
	 * 群id(对应ES的唯一主键:merId_deviceId_wxid)
	 */
	private String groupId;
	/**
	 * 群昵称
	 */
	private String nick;
	/**
	 * 群内机器人唯一id
	 */
	private Long deviceUniqueId;
	/**
	 * 群内机器人微信id
	 */
	private String deviceId;
	/**
	 * 微信群id(群的wxid)
	 */
	private String wxid;
	/**
	 * 微信群号
	 */
	private String wxno;
	/**
	 * 群发消息机器人唯一id
	 */
	private Long groupSendDeviceUniqueId;
	/**
	 * 0未开始，1进行中，2暂停，3完成，4过期
	 */
	private Integer status;
	/**
	 * 发送消息内容(JSON数组格式)
	 */
	private String data;
	/**
	 * 消息总数量
	 */
	private Integer totalCount;
	/**
	 * 完成消息数量
	 */
	private Integer finishCount;
	/**
	 * 暂停时候完成数量的快照
	 */
	private Integer finishCountSnapshot;
	/**
	 * 开始时间
	 */
	private Integer beginTime;
	/**
	 * 有效期
	 */
	private Integer exptime;
	/**
	 * 开始发送时间
	 */
	private Integer sendStartTime;


	/**
	 * 临时保存该子任务将要发送的消息列表
	 */
	List<EsFdGroupSendMsg> esFdGroupSendMsgList = new ArrayList<>();

	/**
	 * 临时最后一条消息的延迟时间
	 */
	private int sendMsgDelay;

	/**
	 * 临时保存最后不是托商品的id
	 */
	private String lastNoTuoMsgId;

}
